﻿// HSS.Forms.IClipboardCapable.cs
// ----------------------------------------------------------------------------
// Licensed under the MIT license
// http://www.opensource.org/licenses/mit-license.html
// ----------------------------------------------------------------------------
// HighSpeed-Solutions, LLC
// Copyright (c) 2001-2010
// ----------------------------------------------------------------------------
// File:       IClipboardCapable.cs
// Author:     HSS\gbanta
// Created:    08/12/2010
// Modified:   12/04/2010
// ----------------------------------------------------------------------------
namespace HSS.Forms
{
	#region IClipboardCapable
	/// <summary>
	/// An interface that an object can implement when it's capable of interacting with the ClipBoard
	/// </summary>
	public interface IClipboardCapable
	{
		/// <summary>
		/// Indicates whether or not to allow items to be cut
		/// </summary>
		bool AllowCut
		{
			get;
		}
		/// <summary>
		/// Indicates whether or not to allow items to be copied
		/// </summary>
		bool AllowCopy
		{
			get;
		}
		/// <summary>
		/// Indicates whether or not to allow items to be pasted
		/// </summary>
		bool AllowPaste
		{
			get;
		}
		/// <summary>
		/// Indicates whether or not to allow items to be deleted
		/// </summary>
		bool AllowDelete
		{
			get;
		}
		/// <summary>
		/// Indicates whether or not to allow all items to be selected
		/// </summary>
		bool AllowSelectAll
		{
			get;
		}

		/// <summary>
		/// Perform the cut operation
		/// </summary>
		void Cut();
		/// <summary>
		/// Perform the copy operation
		/// </summary>
		void Copy();
		/// <summary>
		/// Perform the paste operation
		/// </summary>
		void Paste();
		/// <summary>
		/// Perform the delete operation
		/// </summary>
		void Delete();
		/// <summary>
		/// Perform the select all operation
		/// </summary>
		void SelectAll();
	}
	#endregion
}